home *** CD-ROM | disk | FTP | other *** search
/ Gekkan Dennou Club 140 / Gekkan Dennou Club - 2000.1 Vol. 140 (Japan).7z / Gekkan Dennou Club - 2000.1 Vol. 140 (Japan) (Track 1).bin / tools / has060 / coldfire.doc next >
Text File  |  1999-11-17  |  11KB  |  274 lines

  1. ────────────────────────────────────
  2.           High-speed Assembler ─ 68060 対応版
  3.             HAS060.X version 3.09+87
  4.  
  5.              < ColdFire 命令一覧 >
  6.  
  7.                    1999/11/17
  8.                     M.Kamada
  9. ────────────────────────────────────
  10.  
  11.  ColdFire(ColdFire V2~V4 コア)で使える全命令と、そのオペレーションサ
  12. イズおよびアドレッシングモードをまとめてみました。68000 ファミリの命令表
  13. と比較することで、削除された命令やオペレーションサイズ、アドレッシングな
  14. どを知ることができます。
  15.  
  16.  このドキュメントの内容は保証できません。まだ手元の資料が不十分で実物も
  17. 見ていないので、間違いがあると思われます。また、この記事の内容について質
  18. 問されても答えられない場合があります。
  19.  
  20.  
  21.  
  22. (99-02-10版)
  23.  
  24. ━< アドレッシングモード >━━━━━━━━━━━━━━━━━━━━━━
  25.  
  26.  ColdFire(ColdFire V2~V4 コア)で使用できるアドレッシングモードは、以
  27. 下の通り。
  28.  
  29.     ┌───┬─────────────────────┐
  30.     │  D    │Dn                        │
  31.     ├───┼─────────────────────┤
  32.     │  A    │An                        │
  33.     ├───┼─────────────────────┤
  34.     │  M    │(An)                        │
  35.     ├───┼─────────────────────┤
  36.     │  +    │(An)+                        │
  37.     ├───┼─────────────────────┤
  38.     │  -    │-(An)                        │
  39.     ├───┼─────────────────────┤
  40.     │  W    │(d16,An)                    │
  41.     ├───┼─────────────────────┤
  42.     │  X    │(d8,An,Xi.L)                    │
  43.     │    │(d8,An,Xi.L*2)                │
  44.     │    │(d8,An,Xi.L*4)                │
  45.     ├───┼─────────────────────┤
  46.     │  Z    │(xxx).W                    │
  47.     │    │(xxx).L                    │
  48.     ├───┼─────────────────────┤
  49.     │  P    │(d16,PC)                    │
  50.     │    │(d8,PC,Xi.L)                    │
  51.     │    │(d8,PC,Xi.L*2)                │
  52.     │    │(d8,PC,Xi.L*4)                │
  53.     ├───┼─────────────────────┤
  54.     │  I    │#<data>                    │
  55.     └───┴─────────────────────┘
  56.  
  57. メモ:
  58.      インデックスレジスタはロングワードサイズに限る。
  59.      スケールファクタは 4 倍までで、8 倍は不可。
  60.      フルフォーマットのアドレッシングは不可。
  61.     SP(A7)は常にロングワード境界にアラインメントされる。
  62.  
  63.  
  64.  
  65. ━< 制御レジスタ >━━━━━━━━━━━━━━━━━━━━━━━━━━
  66.  
  67.  ColdFire(ColdFire V2~V4 コア)で使用できる制御レジスタは、以下の通り。
  68.  
  69.     ┌──┬────┬──┬─────────────────┐
  70.     │コード│表記    │バー │           内容          │
  71.     │    │    │ション │                  │
  72.     ├──┼────┼──┼─────────────────┤
  73.     │$002│CACR    │234 │Cache Control Register          │
  74.     │$003│TCR    │2-- │Transration Control Register      │
  75.     │$004│ACR0    │234 │Access Control Register 0      │
  76.     │$005│ACR1    │234 │Access Control Register 1      │
  77.     │$006│ACR2    │2-- │Access Control Register 2      │
  78.     │$007│ACR3    │2-- │Access Control Register 3      │
  79.     │$08n│Rn    │234 │* MOVE to Rn              │
  80.     │$18n│Rn    │234 │* MOVE from Rn              │
  81.     │$801│VBR    │234 │Vector Base Register          │
  82.     │$80E│SR    │2-- │* Status Register          │
  83.     │$80F│PC    │-34 │Program Counter              │
  84.     │$C00│ROMBAR    │234 │ROM Base Address Register      │
  85.     │$C04│RAMBAR    │-34 │SRAM Base Address Register      │
  86.     │$C04│RAMBAR0 │2-- │RAM Base Address Register 0      │
  87.     │$C05│RAMBAR1 │2-- │RAM Base Address Register 1      │
  88.     │$C0F│MBAR    │234 │Module Base Address Register      │
  89.     └──┴────┴──┴─────────────────┘
  90.  
  91. メモ:
  92.      * が付いているものは DEBUG インタフェイスからのアクセ
  93.     スに限る(MOVEC ではアクセスできない)。
  94.      TCR、ACR2、ACR3 は V2 でも使えないようだ。
  95.  
  96.  
  97.  
  98. ━< ColdFire の全命令 >━━━━━━━━━━━━━━━━━━━━━━━
  99.  
  100.  ColdFire(ColdFire V2~V4 コア)の全命令の一覧。
  101.  
  102.     ┌───────────────────┬──┬─────┐
  103.     │           命令         │バー │アドレッシ│
  104.     │                    │ション │ングモード│
  105.     ├───────────────────┼──┼─────┤
  106.     │ADD.L <ea>,Dx             │234 │DAM+-WXZPI│
  107.     │ADD.L Dy,<ea>             │234 │  M+-WXZ  │
  108.     │ADDA.L <ea>,Ax            │234 │DAM+-WXZPI│
  109.     │ADDI.L #<data>,Dx            │234 │D      │
  110.     │ADDQ.L #<data>,<ea>            │234 │DAM+-WXZ  │
  111.     │ADDX.L Dy,Dx                │234 │      │
  112.     │AND.L <ea>,Dx             │234 │D M+-WXZPI│
  113.     │AND.L Dy,<ea>             │234 │  M+-WXZ  │
  114.     │ANDI.L #<data>,Dx            │234 │D      │
  115.     │ASL.L #<data>,Dx            │234 │      │
  116.     │ASL.L Dy,Dx                │234 │      │
  117.     │ASR.L #<data>,Dn            │234 │      │
  118.     │ASR.L Dy,Dx                │234 │      │
  119.     │Bcc.L <label>             │--4 │      │
  120.     │Bcc.S <label>             │234 │      │
  121.     │Bcc.W <label>             │234 │      │
  122.     │BCHG.B #<data>,<ea>            │234 │  M+-W      │
  123.     │BCHG.B Dy,<ea>            │234 │  M+-WXZ  │
  124.     │BCHG.L #<data>,Dx            │234 │D      │
  125.     │BCHG.L Dy,Dx                │234 │D      │
  126.     │BCLR.B #<data>,<ea>            │234 │  M+-W      │
  127.     │BCLR.B Dy,(d8,Ax,Xi)            │-34 │      X   │
  128.     │BCLR.B Dy,<ea>            │234 │  M+-W Z  │
  129.     │BCLR.L #<data>,Dx            │234 │D      │
  130.     │BCLR.L Dy,Dx                │234 │D      │
  131.     │BRA.L <label>             │--4 │      │
  132.     │BRA.S <label>             │234 │      │
  133.     │BRA.W <label>             │234 │      │
  134.     │BSET.B #<data>,<ea>            │234 │  M+-W      │
  135.     │BSET.B Dy,(d8,Ax,Xi)            │-34 │      X   │
  136.     │BSET.B Dy,<ea>            │234 │  M+-W Z  │
  137.     │BSET.L #<data>,Dx            │234 │D      │
  138.     │BSET.L Dy,Dx                │234 │D      │
  139.     │BSR.L <label>             │--4 │      │
  140.     │BSR.S <label>             │234 │      │
  141.     │BSR.W <label>             │234 │      │
  142.     │BTST.B #<data>,<ea>            │234 │  M+-W      │
  143.     │BTST.B Dy,<ea>            │234 │  M+-WXZPI│
  144.     │BTST.L #<data>,Dx            │234 │D      │
  145.     │BTST.L Dy,Dx                │234 │D      │
  146.     │CLR.B <ea>                │234 │D M+-WXZ  │
  147.     │CLR.L <ea>                │234 │D M+-WXZ  │
  148.     │CLR.W <ea>                │234 │D M+-WXZ  │
  149.     │CMP.B <ea>,Dx             │--4 │DAM+-WXZPI│
  150.     │CMP.L <ea>,Dx             │234 │DAM+-WXZPI│
  151.     │CMP.W <ea>,Dx             │--4 │DAM+-WXZPI│
  152.     │CMPA.L <ea>,Ax            │234 │DAM+-WXZPI│
  153.     │CMPA.W <ea>,Ax            │--4 │DAM+-WXZPI│
  154.     │CMPI.B #<data>,Dx            │--4 │D      │
  155.     │CMPI.L #<data>,Dx            │234 │D      │
  156.     │CMPI.W #<data>,Dx            │--4 │D      │
  157.     │CPUSH (Ax)                │-34 │      │
  158.     │DIVS.L <ea>,Dx            │-34 │D M+-W      │
  159.     │DIVS.W <ea>,Dx            │-34 │D M+-WXZPI│
  160.     │DIVU.L <ea>,Dx            │-34 │D M+-W      │
  161.     │DIVU.W <ea>,Dx            │-34 │D M+-WXZPI│
  162.     │EOR.L Dy,<ea>             │234 │D M+-WXZ  │
  163.     │EORI.L #<data>,Dx            │234 │D      │
  164.     │EXT.L Dx                │234 │      │
  165.     │EXT.W Dx                │234 │      │
  166.     │EXTB.L Dx                │234 │      │
  167.     │HALT                    │234 │      │
  168.     │ILLEGAL                │234 │      │
  169.     │JMP <ea>                │234 │  M  WXZP │
  170.     │JSR <ea>                │234 │  M  WXZP │
  171.     │LEA.L <ea>,Ax             │234 │  M  WXZP │
  172.     │LINK.W Ax,#<data>            │234 │      │
  173.     │LSL.L #<data>,Dx            │234 │      │
  174.     │LSL.L Dy,Dx                │234 │      │
  175.     │LSR.L #<data>,Dx            │234 │      │
  176.     │LSR.L Dy,Dx                │234 │      │
  177.     │MAC.wl Ry.ul,Rx.ul            │-34 │      │
  178.     │MAC.wl Ry.ul,Rx.ul,<shift>        │-34 │      │
  179.     │MACL.wl Ry.ul,Rx.ul,<ea>,Rw        │-34 │  M+-W      │
  180.     │MACL.wl Ry.ul,Rx.ul,<shift>,<ea>&,Rw    │-34 │  M+-W      │
  181.     │MACL.wl Ry.ul,Rx.ul,<shift>,<ea>,Rw    │-34 │  M+-W      │
  182.     │MOV3Q.L #<data>,<ea>            │--4 │DAM+-WXZ  │
  183.     │MOVE.bw #<data>,(d16,Ax)        │--4 │     W      │
  184.     │MOVE.bwl #<data>,<ea>         │234 │D M+-      │
  185.     │MOVE.bwl (Ay)+,<ea>            │234 │D M+-WXZ  │
  186.     │MOVE.bwl (Ay),<ea>            │234 │D M+-WXZ  │
  187.     │MOVE.bwl (d16,Ay),<ea>        │234 │D M+-W      │
  188.     │MOVE.bwl (d16,PC),<ea>        │234 │D M+-W      │
  189.     │MOVE.bwl (d8,Ay,Xi),(d16,Ax)        │--4 │     W      │
  190.     │MOVE.bwl (d8,Ay,Xi),<ea>        │234 │D M+-      │
  191.     │MOVE.bwl (d8,PC,Xi),(d16,Ax)        │--4 │     W      │
  192.     │MOVE.bwl (d8,PC,Xi),<ea>        │234 │D M+-      │
  193.     │MOVE.bwl (xxx).wl,(d16,Ax)        │--4 │     W      │
  194.     │MOVE.bwl (xxx).wl,<ea>        │234 │D M+-      │
  195.     │MOVE.bwl -(Ay),<ea>            │234 │D M+-WXZ  │
  196.     │MOVE.bwl Dy,<ea>            │234 │D M+-WXZ  │
  197.     │MOVE.L <ea>,ACC            │-34 │DA     I│
  198.     │MOVE.L <ea>,MACSR            │-34 │DA     I│
  199.     │MOVE.L <ea>,MASK            │-34 │DA     I│
  200.     │MOVE.L ACC,Rx             │-34 │      │
  201.     │MOVE.L MACSR,CCR            │-34 │      │
  202.     │MOVE.L MACSR,Rx            │-34 │      │
  203.     │MOVE.L MASK,Rx            │-34 │      │
  204.     │MOVE.W <ea>,CCR            │234 │D     I│
  205.     │MOVE.W <ea>,SR            │234 │D     I│
  206.     │MOVE.W CCR,Dx             │234 │D      │
  207.     │MOVE.W SR,Dx                │234 │D      │
  208.     │MOVE.wl Ay,<ea>            │234 │D M+-WXZ  │
  209.     │MOVEA.wl <ea>,Ax            │234 │D M+-WXZPI│
  210.     │MOVEC.L Ry,Rc             │234 │      │
  211.     │MOVEM.L <ea>,<list>            │234 │  M  W      │
  212.     │MOVEM.L <list>,<ea>            │234 │  M  W      │
  213.     │MOVEQ.L #<data>,Dx            │234 │      │
  214.     │MSAC.wl Ry.ul,Rx.ul            │234 │      │
  215.     │MSAC.wl Ry.ul,Rx.ul,<shift>        │234 │      │
  216.     │MSACL.wl Ry.ul,Rx.ul,<ea>,Rw        │234 │  M+-W      │
  217.     │MSACL.wl Ry.ul,Rx.ul,<shift>,<ea>&,Rw │234 │  M+-W      │
  218.     │MSACL.wl Ry.ul,Rx.ul,<shift>,<ea>,Rw    │234 │  M+-W      │
  219.     │MULS.L <ea>,Dx            │234 │D M+-W      │
  220.     │MULS.W <ea>,Dx            │234 │D M+-WXZPI│
  221.     │MULU.L <ea>,Dx            │234 │D M+-W      │
  222.     │MULU.W <ea>,Dx            │234 │D M+-WXZPI│
  223.     │MVS.B <ea>,Dx             │--4 │DAM+-WXZPI│?Ay
  224.     │MVS.W <ea>,Dx             │--4 │DAM+-WXZPI│
  225.     │MVU.B <ea>,Dx             │--4 │DAM+-WXZPI│?Ay
  226.     │MVU.W <ea>,Dx             │--4 │DAM+-WXZPI│
  227.     │NEG.L Dx                │234 │D      │
  228.     │NEGX.L Dx                │234 │D      │
  229.     │NOP                    │234 │      │
  230.     │NOT.L Dx                │234 │D      │
  231.     │OR.L <ea>,Dx                │234 │D M+-WXZPI│
  232.     │OR.L Dy,<ea>                │234 │  M+-WXZ  │
  233.     │ORI.L #<data>,Dx            │234 │D      │
  234.     │PEA.L <ea>                │234 │  M  WXZP │
  235.     │PULSE                 │234 │      │
  236.     │REMS.L <ea>,Dx            │-34 │D M+-W      │
  237.     │REMU.L <ea>,Dx            │-34 │D M+-W      │
  238.     │RTE                    │234 │      │
  239.     │RTS                    │234 │      │
  240.     │SATS.L Dx                │--4 │D      │
  241.     │Scc.B Dx                │234 │D      │
  242.     │STOP #<data>                │234 │      │
  243.     │SUB.L <ea>,Dx             │234 │DAM+-WXZPI│
  244.     │SUB.L Dy,<ea>             │234 │  M+-WXZ  │
  245.     │SUBA.L <ea>,Ax            │234 │DAM+-WXZPI│
  246.     │SUBI.L #<data>,Dx            │234 │D      │
  247.     │SUBQ.L #<data>,<ea>            │234 │DAM+-WXZ  │
  248.     │SUBX.L Dy,Dx                │234 │      │
  249.     │SWAP.W Dx                │234 │      │
  250.     │TAS.B <ea>                │--4 │  M+-WXZ  │
  251.     │TRAP #<vector>            │234 │      │
  252.     │TRAPF                 │234 │      │
  253.     │TRAPF.L #<data>            │234 │      │
  254.     │TRAPF.W #<data>            │234 │      │
  255.     │TST.B <ea>                │234 │D M+-WXZPI│
  256.     │TST.L <ea>                │234 │DAM+-WXZPI│
  257.     │TST.W <ea>                │234 │DAM+-WXZPI│
  258.     │UNLK Ax                │234 │      │
  259.     │WDDATA.bwl <ea>            │234 │  M+-WXZ  │
  260.     │WDEBUG.L <ea>             │234 │  M  W      │
  261.     └───────────────────┴──┴─────┘
  262.  
  263. メモ:
  264.      整数演算命令の多くがロングワードサイズに限定された。
  265.      DBRA やローテートなどの基本的な命令も一部削除された。
  266.      アドレッシングモードが Dn のみに限定された命令がある。
  267.      積和演算命令(MAC)が追加された。
  268.  
  269.  
  270.  
  271. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  272.  
  273. (EOF)
  274.